home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / vrs501.zip / VRS-M7.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-08  |  5KB  |  233 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   STRING006
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING009
  32.     String   STRING010
  33.  
  34. ;------------------------------------------------------------------------------
  35.  
  36.     Goto LABEL001
  37.     End
  38.     If (0 == 0) STRING001 = "NO"
  39.     If (0 == 1) STRING001 = "YES"
  40.  
  41.     EndFunc
  42.  
  43.     :LABEL001
  44.     STRING002 = String(PcbNode())
  45.     If (PcbNode() == 0) STRING002 = "A"
  46.     STRING003 = GetEnv(STRING002 + "RECNO")
  47.     STRING003 = ToInteger(STRING003)
  48.     INTEGER001 = Random(9)
  49.     If (INTEGER001 == 0) INTEGER001 = 5
  50.     STRING010 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
  51.     DOpen 0, PPEPath() + "USER.DBF", 0
  52.     DGo 0, STRING003
  53.     :LABEL002
  54.     STRING004 = Trim(DGet(0, "HANDLE"), " ")
  55.     STRING005 = Trim(DGet(0, "HITPTS_B"), " ")
  56.     STRING006 = Trim(DGet(0, "HITPTS_L"), " ")
  57.     STRING007 = Trim(DGet(0, "CASH"), " ")
  58.     INTEGER004 = Trim(DGet(0, "INFECTED"), " ")
  59.     STRING008 = ToInteger(STRING005) - ToInteger(STRING006)
  60.     Cls
  61.     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  62.     PrintLn "@X10│@X1F               Virtual Reality Soldier - @X1ARobotic Medic @POS:79@@X19│@X0F"
  63.     PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
  64.     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  65.     PrintLn "@X10│@X1FThe robot medic whirs to life, you can feel the warm wash of it's @POS:79@@X19│@X0F"
  66.     PrintLn "@X10│@X1Fscanner bathing your body...@POS:79@@X19│@X0F"
  67.     PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
  68.     PrintLn "@X10│@X1F" + Mixed(STRING004) + "@X1B, you have@X1C ", STRING008, "@X1B points of damage.@POS:79@@X19│@X0F"
  69.     PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
  70.     If (INTEGER004 >= 1) PrintLn "@X10│@X1BYou also have a@X1C ", INTEGER004, "%@X1B mutation infection level!  Get a shot for that.@POS:79@@X19│@X0F"
  71.     If (ToInteger(STRING005) == ToInteger(STRING006)) Then
  72.         PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
  73.         If (INTEGER004 >= 1) PrintLn "@X10│@X1B             (I)nfection Cure:@X1A 50  @X1C          Total Credits:@X1A ", STRING007, "@POS:79@@X19│@X0F"
  74.         PrintLn "@X10│                         @X1A(@X1DQ@X1A)@X12uit to Top Level @POS:79@@X19│@X0F"
  75.     Else
  76.         PrintLn "@X10│@X1A(@X1DH@X1A)@X12eal all possible @X1A(@X1DC@X1A)@X12ertain amount healed @POS:79@@X19│@X0F"
  77.         If (INTEGER004 >= 1) PrintLn "@X10│@X1F@X1A(@X1DI@X1A)@X12nfection cure @POS:79@@X19│@X0F"
  78.         PrintLn "@X10│@X1F@X1A(@X1DQ@X1A)@X12uit to Top Level @POS:79@@X19│@X0F"
  79.         If (INTEGER004 >= 1) PrintLn "@X10│@X1A(@X1DI@X1A)@X12nfection Cure @X1E:@X1A 50  @X1CTotal Credits @X1E:@X1A ", STRING007, "@POS:79@@X19│@X0F"
  80.         PrintLn "@X10│@X14Each Hit Point Healed @X1E: @X1A", INTEGER001, " You need to spend : ", INTEGER001 * ToInteger(STRING008), "@POS:79@@X19│@X0F"
  81.         If (ToInteger(STRING007) < INTEGER001 * ToInteger(STRING008)) Then
  82.             PrintLn "@X10│                @X1CYou do not have the credits to fully heal yourself!@POS:79@@X19│@X0F"
  83.         Endif
  84.     Endif
  85.     PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
  86.     Newline
  87.     InputStr " @X0EYour choice Soldier @X0A> _", STRING009, 10, 1, "IHCQ", 0 + 8
  88.     If (STRING009 == "") Goto LABEL007
  89.     If (STRING009 == "Q") Goto LABEL007
  90.     If (STRING009 == "H") Goto LABEL003
  91.     If (STRING009 == "C") Goto LABEL004
  92.     If (STRING009 == "I") Goto LABEL006
  93.     :LABEL003
  94.     INTEGER003 = INTEGER001 * ToInteger(STRING008)
  95.     While (INTEGER003 > ToInteger(STRING007)) Do
  96.         INTEGER003 = INTEGER003 - INTEGER001
  97.     EndWhile
  98.     INTEGER002 = INTEGER003 / INTEGER001
  99.     STRING007 = ToInteger(STRING007) - INTEGER003
  100.     STRING006 = ToInteger(STRING006) + INTEGER002
  101.     Backup 80
  102.     ClrEol
  103.     PrintLn "@X0CWell, We were able to heal @X0E", INTEGER002, "@X0C hit-points.  Be careful out there!@X0F"
  104.     Newline
  105.     Call PPEPath() + "VRS-M19.PPE"
  106.     Goto LABEL005
  107.     :LABEL004
  108.     INTEGER003 = INTEGER001 * STRING008
  109.     While (INTEGER003 > ToInteger(STRING007)) Do
  110.         INTEGER003 = INTEGER003 - INTEGER001
  111.     EndWhile
  112.     STRING009 = ""
  113.     Backup 80
  114.     ClrEol
  115.     InputStr " @X0EHow many credits to spend @X0A(@X0DQ@X0A)@X0Euit @X0A> _", STRING009, 10, 10, "1234567890Q", 0 + 8
  116.     If ((STRING009 == "Q") || (STRING009 == "")) Goto LABEL002
  117.     If (ToInteger(STRING009) > ToInteger(STRING007)) Then
  118.         Backup 80
  119.         ClrEol
  120.         Print "@X0CHey!  You don't have that many credits!  Don't screw with your doctor!@X0F"
  121.         Newline
  122.         Call PPEPath() + "VRS-M19.PPE"
  123.         Goto LABEL004
  124.     Endif
  125.     If (ToInteger(STRING009) > INTEGER003) Then
  126.         Backup 80
  127.         ClrEol
  128.         Print "@X0CNo over medication here!  Try fewer credits neXt time!@X0F"
  129.         Newline
  130.         Call PPEPath() + "VRS-M19.PPE"
  131.         Goto LABEL004
  132.     Endif
  133.     INTEGER002 = ToInteger(STRING009 / INTEGER001)
  134.     STRING007 = ToInteger(STRING007) - STRING009
  135.     STRING006 = ToInteger(STRING006) + INTEGER002
  136.     Backup 80
  137.     ClrEol
  138.     PrintLn "@X0CWell, We were able to heal @X0E", INTEGER002, "@X0C hit-points.  Be careful out there!@X0F"
  139.     PrintLn 
  140.     Call PPEPath() + "VRS-M19.PPE"
  141.     :LABEL005
  142.     DPut 0, "HITPTS_L", STRING006
  143.     DPut 0, "CASH", STRING007
  144.     :LABEL006
  145.     If (ToInteger(STRING007) < 50) Then
  146.         Backup 80
  147.         ClrEol
  148.         PrintLn "                @X8CYou do not have the credits for the booster shot!@X0F"
  149.         Newline
  150.         Call PPEPath() + "VRS-M19.PPE"
  151.         Goto LABEL002
  152.     Endif
  153.     DPut 0, "INFECTED", 0
  154.     DPut 0, "CASH", STRING007 - 50
  155.     Backup 80
  156.     ClrEol
  157.     PrintLn "@X0CYou got your booster, don't wait so long next time!@X0F"
  158.     Newline
  159.     Call PPEPath() + "VRS-M19.PPE"
  160.     :LABEL007
  161.     DCloseAll
  162.     Return
  163.  
  164. ;------------------------------------------------------------------------------
  165. ;
  166. ; Usage report (before postprocessing)
  167. ;
  168. ; ■ Statements used :
  169. ;
  170. ;    1       End
  171. ;    1       Cls
  172. ;    7       ClrEol
  173. ;    22      Goto 
  174. ;    26      Let 
  175. ;    2       Print 
  176. ;    25      PrintLn 
  177. ;    21      If 
  178. ;    2       InputStr 
  179. ;    1       Return
  180. ;    6       Newline
  181. ;    6       Call 
  182. ;    7       Backup 
  183. ;    1       EndFunc
  184. ;    1       DOpen 
  185. ;    1       DCloseAll
  186. ;    1       DGo 
  187. ;    4       DPut 
  188. ;
  189. ;
  190. ; ■ Functions used :
  191. ;
  192. ;    4       *
  193. ;    2       /
  194. ;    14      +
  195. ;    6       -
  196. ;    12      ==
  197. ;    2       <
  198. ;    4       >
  199. ;    4       >=
  200. ;    7       !
  201. ;    1       ||
  202. ;    5       Trim()
  203. ;    1       Random()
  204. ;    1       String()
  205. ;    7       PPEPath()
  206. ;    2       PcbNode()
  207. ;    1       GetEnv()
  208. ;    20      ToInteger()
  209. ;    1       Mixed()
  210. ;    5       DGet()
  211. ;
  212. ;------------------------------------------------------------------------------
  213. ;
  214. ; Analysis flags : C
  215. ;
  216. ; C - Call child PPE ■ 3
  217. ;     This is usually normal, but may be a tricky way to launch some
  218. ;     sysop-only commands.
  219. ;     ■ Search for : CALL
  220. ;
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Postprocessing report
  224. ;
  225. ;    0       For/Next
  226. ;    2       While/EndWhile
  227. ;    5       If/Then or If/Then/Else
  228. ;    0       Select Case
  229. ;
  230. ;------------------------------------------------------------------------------
  231. ;                 AEGiS Corp - Break the routines, code against the machines!
  232. ;------------------------------------------------------------------------------
  233.